<?php

class controlador_tarifas {

    /**
     * Metodo para mostrar la vista de tarifas
     */
    public function ver_tarifa() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial') || $_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_tarifa = new Tarifa();
            if (!$obj_tarifa->get($_GET['id'])) {
                header('location:../listado_tarifas');
            }
            if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial')) {
                $template = 'template_comercial';
            } else if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
                $template = 'template_administrador';
            }
            require 'app/views/ver_tarifa.php';
        } else {
            header('location:../inicio');
        }
    }

    /**
     * metodo para listar todas las tarifas activas
     */
    public function listado_tarifas() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial') || $_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_tarifa = new Tarifa();
            $params_tarifas = $obj_tarifa->get_tarifas_activas();
            if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial')) {
                $template = 'template_comercial';
            } else if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
                $template = 'template_administrador';
            }
            require 'app/views/listado_tarifas.php';
        } else {
            header('location:inicio');
        }
    }

    /**
     * metodo para listar todas las tarifas inactivas
     */
    public function listado_tarifas_inactivas() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_tarifa = new Tarifa();
            $params_tarifas = $obj_tarifa->get_tarifas_inactivas();
            $template = 'template_administrador';
            require 'app/views/listado_tarifas_inactivas.php';
        } else {
            header('location:inicio');
        }
    }

    public function registrar() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] != md5('administrador')) {
            header('location:inicio');
        } else {
            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                $obj_tarifa = new Tarifa();

                //Limpiamos los campos y los guardamos en variables
                $nombre = test_input($_POST['nombre']);
                $descripcion = test_input($_POST['descripcion']);
                $precio = test_input($_POST['precio']);
                $fecha_inicio = test_input($_POST['fecha_inicio']);
                $fecha_fin = test_input($_POST['fecha_fin']);
                $impresiones = test_input($_POST['impresiones']);
                $pais = test_input($_POST['pais']);
                $sitio = test_input($_POST['sitio']);
                if (isset($_POST['activa'])) {
                    $activa = 1;
                } else {
                    $activa = 0;
                }

                $array_datos = array(
                    "nombre" => $nombre,
                    "descripcion" => $descripcion,
                    "precio" => $precio,
                    "fecha_inicio" => $fecha_inicio,
                    "fecha_fin" => $fecha_fin,
                    "impresiones" => $impresiones,
                    "pais" => $pais,
                    "sitio" => $sitio,
                    "activa" => $activa);

                $obj_tarifa->set($array_datos);
                $ultimo_id = $obj_tarifa->get_last_id();
                
                $_SESSION['publicidad_msj'] = 'Tarifa registrada correctamente.';
                header("location:ver_tarifa/$ultimo_id");
            } else {
                $obj_pais = new Paises();
                $params_paises = $obj_pais->listar_paises();

                $obj_sitio = new Sitio();
                $params_sitios = $obj_sitio->obtener_todos_sitios();

                $template = 'template_administrador';
                require 'app/views/registro_tarifa.php';
            }
        }
    }

    /**
     * Formulario para editar tarifa
     */
    public function editar() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] != md5('administrador')) {
            header('location:../inicio');
        } else {
            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                $obj_tarifa = new Tarifa();

                //Limpiamos los campos y los guardamos en variables
                $nombre = test_input($_POST['nombre']);
                $descripcion = $_POST['descripcion'];
                $precio = $_POST['precio'];
                $fecha_inicio = test_input($_POST['fecha_inicio']);
                $fecha_fin = test_input($_POST['fecha_fin']);
                $impresiones = test_input($_POST['impresiones']);
                $pais = test_input($_POST['pais']);
                $sitio = test_input($_POST['sitio']);

                if (isset($_POST['activa'])) {
                    $activa = 1;
                } else {
                    $activa = 0;
                }
                $id = $_GET['id'];

                $array_datos = array(
                    "nombre" => $nombre,
                    "descripcion" => $descripcion,
                    "precio" => $precio,
                    "fecha_inicio" => $fecha_inicio,
                    "fecha_fin" => $fecha_fin,
                    "impresiones" => $impresiones,
                    "pais" => $pais,
                    "sitio" => $sitio,
                    "activa" => $activa,
                    "id" => $id
                );

                $obj_tarifa->edit($array_datos);
                $_SESSION['publicidad_msj'] = 'Tarifa modificada correctamente.';
                header("location: ../ver_tarifa/$id");
            } else {
                $obj_tarifa = new Tarifa();
                if (!$obj_tarifa->get($_GET['id'])) {
                    header('location:../listado_tarifas');
                } else {
                    $obj_pais = new Paises();
                    $params_paises = $obj_pais->listar_paises();

                    $obj_sitio = new Sitio();
                    $params_sitios = $obj_sitio->obtener_todos_sitios();

                    $template = 'template_administrador';
                    require 'app/views/modificar_tarifa.php';
                }
            }
        }
    }

    /**
     * Método para eliminar una tarifa
     */
    /* public function eliminar() {
      if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
      $obj_tarifa = new Tarifa();
      $obj_tarifa->delete($_GET['id']);
      header('location:../listado_tarifas');
      } else {
      header('location:inicio');
      }
      } */

    /**
     * Método para desactivar una tarifa
     */
    public function desactivar() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_tarifa = new Tarifa();
            if (!$obj_tarifa->desactivar($_GET['id'])) {
                header("location:../listado_tarifas");
            }
            $_SESSION['publicidad_msj'] = 'Tarifa desactivada correctamente.';
            header("location:../listado_tarifas");
        } else {
            header('location:inicio');
        }
    }

    /**
     * Método para activar una tarifa
     */
    public function activar() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_tarifa = new Tarifa();
            if (!$obj_tarifa->activar($_GET['id'])) {
                header("location:../tarifas_inactivas");
            }
            $_SESSION['publicidad_msj'] = 'Tarifa activada correctamente.';
            header("location:../tarifas_inactivas");
        } else {
            header('location:inicio');
        }
    }

}

?>